DEFINITION MODULE Encrypt;

  FROM Streams IMPORT FileName;

  PROCEDURE GetKey (Display : BOOLEAN);

     (* This procedure will accept the user input for the password key.
        If Display is TRUE then the key will be displayed at the current
        position on the screen.
        The maximum key length is 40 characters.

        PLEASE NOTE : The Key IS CASE SENSITIVE.  If you get the key wrong
        then you must backtrack with the same key and try the first one
        again.

        You can encrypt a file any number of times with different keys, but
        to uncrypt it you must use the same keys in reverse order.

        e.g.  To Encrypt
                Keys:
                    i) Hello
                   ii) there
                  iii) World
              To Unencrypt
                Keys:
                    i) World
                   ii) there
                  iii) Hello *)


  PROCEDURE EncryptFile (VAR File : FileName);

     (* This procedure both encrypts and de-encrypts a file.  The same key 
        that is used to encrypt a file MUST be used to be able to unencrypt
        the file.  The key is a string of upto 40 characters. *)

END Encrypt.